Title: Year 12 / Computer Science / Theory / 4 - Processor Fundamentals / 4.2 - Assembly Language

Q: Explain what the assembly language is
A: low level programming language with instructions made of an op code and an operand

Q: Explain what machine code is
A: code written in binary that uses processors basic machine operations

Q: Explain the relationship between assembly language and machine code
A: every assembly language instruction/source code translates to exactly one machine code instruction/object code

Q: Explain what is meant by an assembler
A: software that translates assembly language into machine code for processor to understand, replaces mnemonics and labels with respective binary values predefined by assembler

Q: Explain what is meant by a one pass assembler
A: assembler converts mnemonic source code into machine code in one sweep of program, cant handle code that involves forward referencing

Q: Explain what is meant by a two pass assembler
A: assembler makes 2 passes thru code, 1st pass, symbol table is created to enter symbolic addresses and labels into specific addresses, all errors are suppressed, 2nd pass, jump instructions access memory addresses by table, whole source code is translated into machine code, errors get reported

Q: Explain what is meant by direct addressing
A: loads contents at address into ACC

Q: Explain what is meant by immediate addressing
A: loads n (operand) into ACC

Q: Explain what is meant by indirect addressing
A: address to be used is at given address, load contents of second address to ACC

Q: Explain what is meant by indexed addressing
A: load given address + contents of index register into ACC

Q: Explain what is meant by relative addressing
A: next instruction to be carried out is offset number of locations away, relative to address of current instruction held in PC, allows for relocatable code